<ExtensionModel>
 
	<Runtime>
		<Import assembly="LibGit2Sharp.dll"/>
		<Import file="GitIgnore.txt" />
	</Runtime>

	<Extension path="/MonoDevelop/VersionControl/VersionControlSystems">
		<Class class="MonoDevelop.VersionControl.Git.GitClient"/>
	</Extension>

	<Extension path = "/MonoDevelop/Ide/Commands/VersionControl">
		<Command id = "MonoDevelop.VersionControl.Git.Commands.Push"
			_label = "Push Changes..."
			icon = "vc-push"
			defaultHandler = "MonoDevelop.VersionControl.Git.PushCommandHandler"
			description = "Push changes to a remote repository."/>
		<Command id = "MonoDevelop.VersionControl.Git.Commands.SwitchToBranch"
			_label = "Switch to Branch"
			type="radio|array"
			defaultHandler = "MonoDevelop.VersionControl.Git.SwitchToBranchHandler"
			description = "Switch to branch."/>
		<Command id = "MonoDevelop.VersionControl.Git.Commands.ManageBranches"
			_label = "Manage Branches and Remotes"
			defaultHandler = "MonoDevelop.VersionControl.Git.ManageBranchesHandler" />
		<Command id = "MonoDevelop.VersionControl.Git.Commands.Merge"
			_label = "Merge Branch..."
			defaultHandler = "MonoDevelop.VersionControl.Git.MergeBranchHandler" />
		<Command id = "MonoDevelop.VersionControl.Git.Commands.Rebase"
			_label = "Rebase to Branch..."
			defaultHandler = "MonoDevelop.VersionControl.Git.RebaseBranchHandler" />
		<Command id = "MonoDevelop.VersionControl.Git.Commands.Stash"
			_label = "Stash..."
			description = "Stash the changes in a dirty working directory away."
			defaultHandler = "MonoDevelop.VersionControl.Git.StashHandler" />
		<Command id = "MonoDevelop.VersionControl.Git.Commands.StashPop"
			_label = "Pop stash"
			description = "Remove a single stashed state from the stash list and apply it on top of the current working tree state."
			defaultHandler = "MonoDevelop.VersionControl.Git.StashPopHandler" />
		<Command id = "MonoDevelop.VersionControl.Git.Commands.ManageStashes"
			_label = "Manage stashes"
			defaultHandler = "MonoDevelop.VersionControl.Git.ManageStashesHandler" />
	</Extension>

	<Extension path = "/MonoDevelop/Ide/MainMenu/VersionControl">
		<SeparatorItem insertafter="MonoDevelop.VersionControl.Commands.SolutionStatus"/>
		<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.Push" />
		<ItemSet id = "SwitchToBranch" _label = "Switch to Branch" autohide="true">
			<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.SwitchToBranch"/>
		</ItemSet>
		<SeparatorItem />
		<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.Merge"/>
		<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.Rebase"/>
		<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.ManageBranches"/>
		<SeparatorItem />
		<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.Stash"/>
		<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.StashPop"/>
		<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.ManageStashes"/>
		<SeparatorItem />
	</Extension>

	<Extension path = "/MonoDevelop/Ide/ContextMenu/ProjectPad">
		<ItemSet id = "SwitchToBranch" _label = "Switch to Branch" autohide="true" insertafter = "VersionControl">
			<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.SwitchToBranch"/>
		</ItemSet>
	</Extension>

	<Extension path = "/MonoDevelop/Ide/ContextMenu/ProjectPad/VersionControl">
		<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.Push" insertbefore="MonoDevelop.VersionControl.Commands.Publish"/>
		<CommandItem id = "MonoDevelop.VersionControl.Git.Commands.Merge"/>
		<SeparatorItem />
	</Extension>

	<Extension path = "/MonoDevelop/Ide/Pads/ProjectPad">
		<NodeBuilder id = "VersionControlNodeExtension" class = "MonoDevelop.VersionControl.Git.GitNodeBuilderExtension"/>
	</Extension>

	<Extension path = "/MonoDevelop/VersionControl/CommitDialogExtensions">
		<Class class="MonoDevelop.VersionControl.Git.GitCommitDialogExtension" />
	</Extension>

	<Extension path = "/MonoDevelop/Ide/GlobalOptionsDialog/VersionControl">
		<Section id = "Git" _label = "Git" class = "MonoDevelop.VersionControl.Git.GitOptionsPanel" icon="md-prefs-git" />
	</Extension>

	<Extension path = "/MonoDevelop/Ide/VersionControlProjectTemplateHandler">
		<Class class="MonoDevelop.VersionControl.Git.ProjectTemplateHandler" />
	</Extension>
</ExtensionModel>
